//用户个人中心模态框脚本
//更改密码模态框事件监听
$('#changePasswordModal').on('show.bs.modal', function() {//show 方法调用之后立即触发该事件
}).on('shown.bs.modal', function() {//此事件在模态框已经显示出来（并且同时在 CSS 过渡效果完成）之后被触发
}).on('hidden.bs.modal', function() {//此事件在模态框被隐藏（并且同时在 CSS 过渡效果完成）之后被触发。
    $('#verifyOldPasswordBtn').show();
    $('#oldPassword_input').show();
    $('#changePasswordBtn').hide();
    $('#newPassword_input').hide();
    $('#user_old_password').val('');
    $('#user_password').val('').attr("type","password");
    $('#user_passwords').val('').attr("type","password");
    $('#eye').attr("class","mdi mdi-eye-off");
});
//绑定手机号模态框事件监听
$('#bindPhoneModal').on('show.bs.modal', function() {//show 方法调用之后立即触发该事件
}).on('shown.bs.modal', function() {//此事件在模态框已经显示出来（并且同时在 CSS 过渡效果完成）之后被触发
}).on('hidden.bs.modal', function() {//此事件在模态框被隐藏（并且同时在 CSS 过渡效果完成）之后被触发。
    $('#user_phone').val('');
    $('#phonecode').val('');
    $('#phone_code').val('').attr('disabled', true);
    countdown=0;
});
//解绑手机号模态框事件监听
$('#unBindPhoneModal').on('show.bs.modal', function() {//show 方法调用之后立即触发该事件
}).on('shown.bs.modal', function() {//此事件在模态框已经显示出来（并且同时在 CSS 过渡效果完成）之后被触发
}).on('hidden.bs.modal', function() {//此事件在模态框被隐藏（并且同时在 CSS 过渡效果完成）之后被触发。
    $('#unphonecode').val('');
    $('#unphone_code').val('').attr('disabled', true);
    countdown=0;
});
//绑定邮箱模态框事件监听
$('#bindEmailModal').on('show.bs.modal', function() {//show 方法调用之后立即触发该事件
}).on('shown.bs.modal', function() {//此事件在模态框已经显示出来（并且同时在 CSS 过渡效果完成）之后被触发
}).on('hidden.bs.modal', function() {//此事件在模态框被隐藏（并且同时在 CSS 过渡效果完成）之后被触发。
    $('#user_email').val('');
    $('#emailcode').val('');
    $('#email_code').val('').attr('disabled', true);
    countdown=0;
});
//解绑邮箱模态框事件监听
$('#unBindEmailModal').on('show.bs.modal', function() {//show 方法调用之后立即触发该事件
}).on('shown.bs.modal', function() {//此事件在模态框已经显示出来（并且同时在 CSS 过渡效果完成）之后被触发
}).on('hidden.bs.modal', function() {//此事件在模态框被隐藏（并且同时在 CSS 过渡效果完成）之后被触发。
    $('#unemailcode').val('');
    $('#unemail_code').val('').attr('disabled', true);
    countdown=0;
});

/*验证旧密码*/
function verifyOldPassword(){
    if(!InputNotNull($('#user_old_password'),"旧密码不能为空！"))	return;
    if($.md5($("#user_old_password").val())==$('#user_password_old').val().toLowerCase()){//验证旧密码正确
        $('#changePasswordBtn,#verifyOldPasswordBtn,#oldPassword_input,#newPassword_input').slideToggle();
    }else{
        ErrorTipBottomCenter("旧密码错误！");
    }
}
/*<!-- 验证两次密码是否相同 -->*/
function checkUser_passwords(){
    var password = $('#user_password').val();
    var passwords = $('#user_passwords').val();
    if(password!=passwords){
        ErrorTipBottomCenter("两次密码不相同！");
        return false;
    }else{
        return true;
    }
}
/*<!-- 密码表单验证 -->*/
function checkPassword(){
    if(checkUser_password()&&checkUser_passwords()){
        return true;
    }else{
        return false;
    }
}
//判断是否成功更改密码
function changePassword(){
    if(!checkPassword()) return;
    $.ajax({
        type:"post",
        url:"/app/userUpdatePassword",
        datatype: "json",
        async:false,
        data:{
            "user_account":$("#user_account").val(),
            "user_password":$.md5($("#user_password").val()),
        },
        success:function(result) {
            if(result.isOK==true){//重置密码成功
                $('#changePasswordModal').modal('hide');//隐藏修改密码模态框
                swal({
                        title: "修改密码成功",
                        text: result.successMes,
                        type: "success",
                    },
                    function(){
                        window.location.reload();
                    });
                setTimeout(function () {window.location.reload();}, 3000);
            }else{//重置密码失败
                swal({
                    title:"修改密码失败",
                    text: result.errorMes,
                    type: "error",
                });
            }
        },
        error:function(){
            AjaxError();
        }
    });
}

/*<!-- 判断邮箱是否存在 -->*/
function IsEmailExist(tip){
    if(checkUser_email()==false)	return false;
    var ok = false;
    $.ajax({
        type:"post",
        url:"/app/userIsEmailExist",
        datatype: "json",
        async:false,
        data:{
            "user_email":$('#user_email').val().toLowerCase(),
        },
        success:function(result) {
            if(result.isExist==true){//邮箱已存在。
                ok = false;
                ErrorTipBottomCenter(result.errorMes);
            }else{//邮箱不存在。
                ok = true;
                if(tip==1){
                    iziToast.success({
                        title: "邮箱可用",
                        message: result.successMes,
                        position: 'bottomRight',
                        transitionIn: 'bounceInLeft',
                    });
                }
            }
        },
        error:function(){
            AjaxError();
        }
    });
    return ok;
}
/*<!-- 判断手机号是否存在 -->*/
function IsPhoneExist(tip){
    if(checkUser_phone()==false)	return false;
    var ok = false;
    $.ajax({
        type:"post",
        url:"/app/userIsPhoneExist",
        datatype: "json",
        async:false,
        data:{
            "user_phone":$('#user_phone').val(),
            "mode":"bind",
        },
        success:function(result) {
            if(result.isExist==true){//手机号已存在。
                ok = false;
                ErrorTipBottomCenter(result.errorMes);
            }else{//手机号不存在。
                ok = true;
                if(tip==1){
                    iziToast.success({
                        title: "手机号码可用",
                        message: result.successMes,
                        position: 'bottomRight',
                        transitionIn: 'bounceInLeft',
                    });
                }
            }
        },
        error:function(){
            AjaxError();
        }
    });
    return ok;
}

/* 发送验证码 */
var countdown = 60;
/* 发送手机验证码 */
function sendPhoneCode(btn,codeinput,code,sendinput){
    settime(btn,sendinput);
    InfoTipBottomRight("短信正在发送中。。。");
    var user_phone = sendinput.val();
    $.ajax({
        type:"post",
        url:"/app/userSendPhoneCode",
        datatype: "json",
        async:true,
        data:{
            "user_phone":user_phone,
        },
        success:function(result) {
            if(result.isOK==true){//短信发送成功
                //解锁按钮
                if(btn.attr('id')=="bindPhoneCodeBtn"){
                    //绑定按钮生效
                    $('#bindPhoneBtn').removeAttr('disabled');
                }else if(btn.attr('id')=="unBindPhoneCodeBtn"){
                    //解绑按钮生效
                    $('#unBindPhoneBtn').removeAttr('disabled');
                }
                SuccessTipBottomRight(result.successMes);
                code.val(result.code);
                codeinput.attr('disabled', false);
                $("#sendPhone").val(user_phone);
            }else{//发送失败
                ErrorTipBottomCenter(result.errorMes);
                countdown=0;
            }
        },
        error:function(){
            AjaxError();
        }
    });
}
/* 发送邮箱验证码 */
function sendEmailCode(btn,codeinput,code,sendinput){
    settime(btn,sendinput);
    InfoTipBottomRight("邮件正在发送中。。。");
    var user_email = sendinput.val();
    $.ajax({
        type:"post",
        url:"/app/userSendEmailCode",
        datatype: "json",
        async:true,
        data:{
            "user_email":user_email.toLowerCase(),
        },
        success:function(result) {
            if(result.isOK==true){//邮箱验证码发送成功
                //解锁按钮
                if(btn.attr('id')=="bindEmailCodeBtn"){
                    //绑定按钮生效
                    $('#bindEmailBtn').removeAttr('disabled');
                }else if(btn.attr('id')=="unBindEmailCodeBtn"){
                    //解绑按钮生效
                    $('#unBindEmailBtn').removeAttr('disabled');
                }
                SuccessTipBottomRight(result.successMes);
                code.val(result.code);
                codeinput.attr('disabled', false);
                $("#sendEmail").val(user_email);
            }else{//发送失败
                ErrorTipBottomCenter(result.errorMes);
                countdown=0;
            }
        },
        error:function(){
            AjaxError();
        }
    });
}

/* 绑定手机号 */
function bindPhone(){
    if(IsPhoneExist()&&checkPhone_code($('#phone_code').val(),$('#phonecode').val())){
        if($('#user_phone').val()!=$('#sendPhone').val()){
            WarningTipBottomCenter("手机号被修改！请输入正确的手机号！");
            return;
        }
        $.ajax({
            type:"post",
            url:"/app/userUpdatePhone",
            datatype: "json",
            async:true,
            data:{
                "mode":'bind',
                "user_phone":$("#user_phone").val(),
            },
            success:function(result) {
                if(result.isOK==true){//绑定成功
                    $('#bindPhoneModal').modal('hide');//隐藏绑定手机号模态框
                    swal({
                            title: "绑定成功",
                            text: result.successMes,
                            type: "success",
                        },
                        function(){
                            window.location.reload();
                        });
                    setTimeout(function () {window.location.reload();}, 3000);
                }else{//绑定失败
                    swal({
                        title: "绑定失败",
                        text: result.errorMes,
                        type: "error",
                    });
                }
            },
            error:function(){
                AjaxError();
            }
        });
    }else{
        return false;
    }
}
/* 解绑手机号 */
function unBindPhone(){
    if(checkPhone_code($('#unphone_code').val(),$('#unphonecode').val())){
        $.ajax({
            type:"post",
            url:"/app/userUpdatePhone",
            datatype: "json",
            async:true,
            data:{
                "mode":'unbind',
                "user_phone":'',
            },
            success:function(result) {
                if(result.isOK==true){//解绑成功
                    $('#unBindPhoneModal').modal('hide');//隐藏解绑手机号模态框
                    swal({
                            title: "解绑成功",
                            text: result.successMes,
                            type: "success",
                        },
                        function(){
                            window.location.reload();
                        });
                    setTimeout(function () {window.location.reload();}, 3000);
                }else{//解绑失败
                    var text;
                    if(result.isOnly==true){//唯一登录方式，无法解绑
                        text = result.errorMes;
                    }else{//未知错误
                        text = result.errorMes;
                    }
                    swal({
                        title: "解绑失败",
                        text: text,
                        type: "error",
                    });
                }
            },
            error:function(){
                AjaxError();
            }
        });
    }else{
        return false;
    }
}
/* 绑定邮箱 */
function bindEmail(){
    if(IsEmailExist()&&checkEmail_code($('#email_code').val(),$('#emailcode').val())){
        if($('#user_email').val()!=$('#sendEmail').val()){
            WarningTipBottomCenter("邮箱被修改！请输入正确的邮箱！");
            return;
        }
        $.ajax({
            type:"post",
            url:"/app/userUpdateEmail",
            datatype: "json",
            async:true,
            data:{
                "mode":'bind',
                "user_email":$("#user_email").val().toLowerCase(),
            },
            success:function(result) {
                if(result.isOK==true){//绑定成功
                    $('#bindEmailModal').modal('hide');//隐藏绑定邮箱模态框
                    swal({
                            title: "绑定成功",
                            text: result.successMes,
                            type: "success",
                        },
                        function(){
                            window.location.reload();
                        });
                    setTimeout(function () {window.location.reload();}, 3000);
                }else{//绑定失败
                    swal({
                        title: "绑定失败",
                        text: result.errorMes,
                        type: "error",
                    });
                }
            },
            error:function(){
                AjaxError();
            }
        });
    }else{
        return false;
    }
}
/* 解绑邮箱 */
function unBindEmail(){
    if(checkEmail_code($('#unemail_code').val(),$('#unemailcode').val())){
        $.ajax({
            type:"post",
            url:"/app/userUpdateEmail",
            datatype: "json",
            async:true,
            data:{
                "mode":'unbind',
                "user_email":'',
            },
            success:function(result) {
                if(result.isOK==true){//解绑成功
                    $('#unBindEmailModal').modal('hide');//隐藏解绑邮箱模态框
                    swal({
                            title: "解绑成功",
                            text: result.successMes,
                            type: "success",
                        },
                        function(){
                            window.location.reload();
                        });
                    setTimeout(function () {window.location.reload();}, 3000);
                }else{//解绑失败
                    var text;
                    if(result.isOnly==true){//唯一登录方式，无法解绑
                        text = result.ErrorMes;
                    }else{//未知错误
                        text = result.errorMes;
                    }
                    swal({
                        title:"解绑失败",
                        text: text,
                        type: "error",
                    });
                }
            },
            error:function(){
                AjaxError();
            }
        });
    }else{
        return false;
    }
}

/*<!-- 密码是否可见 -->*/
function ShowNewPsw(){
    var eye = $('#eye');
    var passwordInput1 = $('#user_password');
    var passwordInput2 = $('#user_passwords');
    if (passwordInput1.attr("type") == "password") {
        passwordInput1.attr("type","text");
        passwordInput2.attr("type","text");
        eye.attr("class","mdi mdi-eye-off");
    }else {
        passwordInput1.attr("type","password");
        passwordInput2.attr("type","password");
        eye.attr("class","mdi mdi-eye");
    }
}